package com.itgungnir.diyshuo.activity.listview_activity;

import android.app.Activity;
import android.content.Context;
import android.widget.TextView;

import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.Map;

/**
 * ListViewActivity中管理所有MVP接口的类
 */
public class ListViewContract {
    interface View {
        // 初始化标题中的文本
        void setTextToTitle(String text);

        // 初始化PullToRefreshListView中的数据
        void setContentToListView();

        // 当点击返回按钮时触发的事件
        void onBackClickListener();

        // 当点击PullToRefreshListView中的某一项时触发的事件
        void onListViewItemClickListener();

        // 当PullToRefreshListView下拉刷新时触发的事件
        void onListViewPullDownListener();

        // 当PullToRefreshListView上拉刷新时触发的事件
        void onListViewPullUpListener();
    }

    interface Model {
        void setTextToTitle(TextView tv, String text);

        void setContentToListView(Context context, PullToRefreshListView lv, Map<String, String> params);

        void onBackClickListener(Activity activity);

        void onListViewItemClickListener();

        void onListViewPullDownListener();

        void onListViewPullUpListener();
    }

    interface Presenter {
        void setTextToTitle(TextView tv, String text);

        void setContentToListView(Context context, PullToRefreshListView lv, Map<String, String> params);

        void onBackClickListener(Activity activity);

        void onListViewItemClickListener();

        void onListViewPullDownListener();

        void onListViewPullUpListener();
    }
}